﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

using Bricks.Component.Utils;
using Bricks.Site.Models;
using Bricks.Business.Models.WorkerManagement;


namespace Bricks.Business.Service
{
    public interface ISectionSalaryService
    {
        IQueryable<SectionSalary> SectionSalarys { get; }

        #region 主界面加载
        List<SectionSalaryView> GetSectionSalaryList(Guid projectID, string contractType, string year);

        List<SectionSalaryDetailsView> GetSectionSalaryDetailList(Guid projectID, string contractType, Guid contractID, string year, string month);

        string GetSectionSalaryID(Guid projectID, string contractType, Guid contractID, string year, string month);

        List<SectionSalaryDetailsView> GetSectionSalaryDetailListForRoster(Guid projectID, string contractType, Guid contractID);
        #endregion

        #region 单据操作
        SectionSalaryView GetSectionSalaryByID(Guid id);

        List<SectionSalaryDetailsView> GetSectionSalaryDetailListForFlow(string sourceType, Guid projectID, string contractType, Guid contractID, Guid sectionSalaryID);

        void SaveSectionSalary(SectionSalaryView sectionSalaryView, List<SectionSalaryDetailsView> saveList, bool isUpdateDetails = true);

        OperationResult Delete(Guid projectID, string contractType, Guid contractID, string year, string month);
        #endregion
    }
}